Robotic creature and method of operation

ABSTRACT

A robotic creature system includes an actuatable head defining eyes, an eyelid mechanism, a body, a drivetrain, and a set of sensors. A method for robotic creature operation includes: detecting an event associated with a technological imperfection and automatically performing a set of expressive actions associated with the event.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/817,035, filed 17 Nov. 2017, which claims the benefit of U.S.Provisional Application No. 62/424,315, filed 18 Nov. 2016, and U.S.Provisional Application No. 62/424,308, filed 18 Nov. 2016, all of whichare incorporated in their entireties by this reference.

This application is related to U.S. application Ser. No. 29/587,060filed 9 Dec. 2016, and U.S. application Ser. No. 29/587,059 filed 9 Dec.2016, both of which are incorporated in their entireties by thisreference.

TECHNICAL FIELD

This invention relates generally to the robotics field, and morespecifically to a new and useful robotic creature and method ofoperation in the robotics field.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a schematic representation of a variation of the roboticcreature.

FIG. 2 is an illustration of a variation of the robotic creature.

FIGS. 3A and 3B are an illustration of a side view of a variation of therobotic creature with touch sensors and a top-down view of a variationof the robotic creature with touch sensors, respectively.

FIG. 4 is an illustration of a variation of the head mechanism.

FIGS. 5A, 5B, and 5C are illustrations of a second and third variationof the head mechanism, respectively.

FIG. 6 is an illustration of a variation of the optical sensor.

FIG. 7 is an illustration of a variation of the eyelid mechanism.

FIG. 8 is a schematic representation of a variation of a lid piece.

FIG. 9 is a flowchart diagram of the method for operating a roboticcreature.

FIG. 10 is a flowchart representation of a variation of the method.

FIGS. 11-16 are schematic representations of examples of the method.

FIG. 17 is a depiction of the progression of a weighted positivity scoreover time.

FIGS. 18A-18D are examples of: the acoustic sensor, acoustic output,rangefinding system, and drivetrain, respectively, and the respectivecomponent placements in variants of the robotic creature.

FIG. 19 is an example of robotic creature interfacing with a dock.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The following description of the preferred embodiments of the inventionis not intended to limit the invention to these preferred embodiments,but rather to enable any person skilled in the art to make and use thisinvention.

1. Overview.

As shown in FIG. 1, the robotic creature 100 includes: an actuatablehead 110 defining eyes 120, an eyelid mechanism 122, a body 130, adrivetrain 140, and a set of sensors 150. In some variants (e.g. FIG.2), the sensors can include: an array of touch sensors 152 arranged onthe head, wheel drop sensors 154, a bump shell 156, a camera 159, and arangefinding system 158. In some variations, the robotic creature canfurther include: a processing system 180, an input, an output, acommunications module, a power storage system, an internal map, a set ofpositivity scores, and/or any other suitable component. The roboticcreature functions as a robot companion, and can additionally oralternatively function as a portable connected system, an entertainmentsystem, or perform any other suitable functionality.

As shown in FIG. 9, robotic creature operation can include: detecting anevent associated with a technological imperfection S250, and performinga set of expressive actions associated with the event S270. In somevariations, parameters of the expressive actions can be dynamicallyadjusted based on context and/or the robot mood. As shown in FIG. 10,robotic creature operation can additionally include: receiving a commandto perform an action S210, receiving a user input S220, assigning apositivity score to the user input S230, detecting a face S290, samplingsensor signals associated with the action from a sensor S290, performinga data-acquiring action based on the event S260, performing anexpressive action based on the event S270, performing an action based oninformation determined during the data-acquiring action S280,determining a robotic creature mood S282, and/or determining a roboticcreature context S284.

2. Benefits

In some applications, there can be a mismatch between robot capabilitiesand human expectations. In particular, humans expect robots to bereliable and stable—in other words, humans expect robots to be perfect.However, robots are oftentimes imperfect, due to the drawbacks of theunderlying technology. For example, the rangefinding system of a homerobot may have a limited field of view that cannot monitor the physicalregion proximal the robot base. Because of this blind spot, the robotmay inadvertently run into objects, which is a mistake that humanstypically expect robots to avoid.

The inventors have discovered that user expectations can be betteraligned with the robot's capabilities by automatically performingrobotic expressive actions (i.e. “romojis”) when the robot encounterssituations that implicate or involve a technological imperfection (e.g.,underlying technology disadvantage). These expressive actions can befurther used to cause the users to “forgive” robot imperfections ormiscues (e.g., by acting and looking cute and loveable), and tofacilitate a more enjoyable user interaction with the robot andconnected technologies. For example, when the robot runs into theobject, the robot can detect object contact, play a sound associatedwith confusion or mistake, actuate the head and/or main body to “look”at the object (e.g., direct the eyes toward the object), and then turnand drive away from the object. When the robot falls over, the robot canperform a “sadness” sequence, including playing a sound associated withsadness, actuating the head to direct the eyes downward, and loweringthe eyelids. When the robot fails to understand a command (e.g., due toNLP drawbacks, connection lag, etc.) or complete a mission, the robotcan respond with a quizzical sound and actuate the head upward. However,other expressive actions can be performed.

In some variants, user expectations can be further aligned with robotcapabilities by designing the robot to be incapable of autonomouslyspeaking in natural language. The inventors have discovered that, insome variants, the lack of an ability to speak in natural languagecauses users to lower their expectations of the robot's abilities (e.g.,the users do not expect the robot to be too intelligent or capable).

In some variants, the limited abilities of the robot (e.g. inability tospeak) and/or the design features of the robot (e.g. lack of mouth,large eyes, general ‘creature-like’ appearance) can serve the purpose ofpreventing or minimizing the “uncanny valley” phenomenon, which ischaracterized by users' general revulsion to robots that appear to benearly human.

However, lowering user expectations too much comes at the risk of robotnonuse. To mitigate this risk, the robot can include some basic responsecapabilities, such as being able to give simple yes/no responses (e.g.,by nodding or shaking the robot's head), which can increase continuousrobot usage while maintaining the lowered user expectations. The robotcan additionally or alternatively promote robot usage by “comprehending”natural language commands from the user (e.g., using natural languageprocessing), in addition to supporting other methods of command input,such as remote control commands. The robot can additionally oralternatively promote robot usage by autonomously performing some tasks,such as roaming around a house (e.g., to autonomously map the house androoms), docking itself when the battery is low (and/or to receiveupdates or other data from the dock; example shown in FIG. 19), learninghousehold patterns, or autonomously performing any other suitable set oftasks.

In some variants, the robot can promote usage by performingdata-acquiring actions that remedy technological imperfections throughthe collection of data. These can be performed during or after anexpressive action. In some variants, the expressive action itselffacilitates data acquisition and imperfection resolution. For example,while the robot is performing an expressive action, it can concurrentlybe acquiring information to overcome an event associated with atechnological imperfection. This allows the robot to overcome itstechnological imperfections with little to no user input, whichpotentially increases the functionality and dependability of the robot.In a specific example, the robotic creature can turn its head to “lookaround” when in an unrecognized physical space, which can give therobotic creature's mapping and/or navigation system sufficient time tosample the unrecognized space and localize the robotic creature within apredetermined map based on the sampled signals. In this example, therobotic creature can optionally turn its body to “look around” before,after, or during the head animation. This can increase the mappingand/or navigation system's field of view, which, in turn, can increasethe number of visual features that can be used to locate the creaturewithin the predetermined map. In a second specific example, the roboticcreature can inch forward, toward a user, in response to receipt of anunrecognized (e.g., oral) command from the user. This can reduce thesampled signal's noise by sampling a clearer command (due to increasedproximity to the user). In a third specific example, the roboticcreature can back up in response to collision with an obstacle, whichgives the robotic creature space to clear the obstacle. In this example,the robotic creature can concurrently actuate the head to “look down” atthe obstacle as it is backing up, which can function as an expressiveaction and/or enable the robotic creature to direct a camera system(e.g., monocular, stereocamera, etc.), located in the robotic creature'shead, toward the obstacle. This can enable the robotic creature's visionsystem to determine obstacle parameters (e.g., dimensions, geometry),which can be fed into the navigation system to route the roboticcreature around the obstacle. However, any suitable data-acquiringactions can be performed.

The robot can also promote usage by performing expressive actions thatcause users to create an emotional bond with the robot. For example,users are more likely to interact with the robot on a continuous basiswhen the robot recognizes household members (e.g., using facialrecognition based on the video sampled by the camera) and automaticallyinteracts with the recognized household member; when the robotoccasionally follows users around in a pet-like manner; when the robotperforms a “happy” expressive action in response to user interactionwith the robot (e.g., looks up and actuates the eyelids such thathalf-moon lower eyelids partially obscure the eye); and when the robotreacts to stimuli (e.g., with happiness, sadness, confusion, ortiredness, as animated using the robot head, eyelid mechanisms, lights,and/or sounds). The robot can additionally dynamically adjust theparameters of the expressive actions (e.g., based on context, historicdata, etc.), such that an expressive action does not become repetitive.However, robot usage can be otherwise promoted.

3. System.

As shown in FIG. 1, the robotic creature includes an actuatable headdefining eyes, an eyelid mechanism, a body, a drivetrain, and a set ofsensors. In some variants, the sensors can include: an array of touchsensors arranged on the head, wheel drop sensors, a bump shell (e.g.,shell with contact sensors), a camera, and a rangefinding system, butcan additionally or alternatively include any other suitable set ofsensors. The system can further additionally include a processingsystem, an input, an output, a communications module, a power storagesystem, an internal map, a set of positivity scores, and/or any othercomponent.

The head 110 of the robotic creature functions to perform all or part ofan expressive action, and additionally functions to define the eyes andsupport the eyelid mechanism. The head no is preferably substantiallyspherical, but can alternatively be humanoid, dog-like, or have anyother suitable shape. A dimension of the head no (e.g., the headdiameter) is preferably approximately ⅔ of the height of the body, butcan alternatively be larger or smaller. The head 110 is preferablyhollow and functions as a shell that hides the head mechanisms andsensors, but can alternatively be solid or otherwise configured. Thehead 110 is preferably made of plastic, but can alternatively be made ofmetal, ceramic, or any other suitable material. The head no ispreferably white or cream, but can alternatively be black, red, blue,green, yellow, or any other suitable color. The head no can include abody interface where the head mounts to the body, but can alternativelyinclude any other suitable mounting point. The body interface preferablyincludes an aperture, but can include a set of linkages or be otherwiseconfigured. The head no is preferably recessed into the body, but canalternatively overlap the body, be connected by a column (e.g., a“neck”), or be otherwise connected to the body. The head 110 can includeauxiliary mounting points (e.g., holes, clips, adhesive, etc.) that canfunction to mount accessories (e.g., ears, hats, etc.), auxiliarysensors (e.g., LIDAR, etc.), or any other suitable auxiliary system.Alternatively, the head no can be substantially smooth, textured, orhave any other suitable feature.

The head no preferably defines a set of eyes 120, which function to givethe robot an anthropomorphic or creature-like look. The eye 120 canadditionally function as apertures connecting sensors housed in the headwith the ambient environment. The head preferably defines two eyes 120separated by a portion of the head (e.g., the “nose”), but canalternatively define any suitable set of eyes 120. The eye 120 ispreferably spherical, but can alternatively be obloid, almond-shaped,semicircular, a circle segment, lunular (i.e., crescent-shaped),polygonal (e.g., triangular, octagonal), or any other suitable shape.The eye 120 can be defined by a hole in the head, by an outline drawn onthe head exterior, by different material mounted to or embedded withinthe head, by a thinned-out region of the head, or otherwise defined. Invariants where the eye 120 is a hole, the hold can be a countersunk ortapered hole (e.g., a hole with an angled bezel connecting the exteriorhole perimeter to the interior hole perimeter), a simple hole, or anyother suitable hole. A dimension of the eye 120 (e.g., diameter) ispreferably ⅕ the diameter of the head, but can alternatively be largeror smaller. Different eyes 120 on the head preferably have the samesize, shape, and profile, but can alternatively have differentparameters. The head preferably does not include a mouth, but canalternatively include a static or articulable mouth. The head cansupport one or more of the sensors. In one example, the head can includeone or more cameras (e.g., arranged in an eye socket defined by thehead) and an array of capacitive touch sensors arranged along the top ofthe head (e.g., opposing the body mounting point).

In one variation, the head includes a camera 159 (e.g., used for objectrecognition, facial recognition, etc.) recessed within the housing andaligned with the eye, wherein the camera 159 is optically connected tothe external environment through the eye socket. However, the camera 159can be otherwise arranged. The camera 159 preferably does not fill theentire eye, but can optionally have a lens the same dimension as and/orfills the eye. The camera 159 is preferably biased toward the upperleft, such that less of the frame is occluded by the nose, but canalternatively be coaxially aligned with the eye or otherwise arranged.In one embodiment, the camera assembly can optionally include a cameraconcealing assembly that functions to hide the camera within the eye. Inone example, the camera concealing assembly can include, in order fromthe camera toward the housing exterior: a camera shroud connecting thebezel of the camera lens and the housing interior, a glass layer (e.g.,tinted or transparent) and a tinted film over the eye bracket. Thecamera-concealing assembly can additionally include blackout paint(e.g., matte), textured black pigmented resin, felt, or any othersuitable low-reflectance material that functions to decrease ingressedlight reflection out of the eye socket. However, the camera assembly caninclude any other suitable camera-concealing assembly. In the event thatthe camera-concealing assembly includes a suitable low-reflectancematerial, a processing system of the robotic creature can include acolor correction process to calibrate the camera footage based on apredetermined color shift. In one example, the camera-concealingassembly includes a black tinted film designed to appear substantiallyopaque to a user while simultaneously being substantially transparent toallow the camera to record the environment of the robotic creature.

In a second variation, example shown in FIGS. 3A and 3B, the headincludes a set of touch sensors 152 that function to detect contact withthe head. This can be particularly useful in robotic creature variantsthat react to head petting (e.g., continuous, directional touches), thatenable touch commands (e.g., the robot ceases movement when touched), orin any other suitable application. The touch sensor 152 can include oneor more: capacitive touch sensors, resistive touch sensors, loadsensors, tixels, light sensors (e.g., wherein a touch is detected inresponse to ambient light obstruction), or any other suitable touchsensor 152. The touch sensor 152 is preferably arranged along the top ofthe head (e.g., opposing the body mounting point), but can alternativelybe arranged along the back of the head or along any other suitableportion of the head. The touch sensor(s) 152 can be arranged in a sheet,an array, concentric circles, or in any other suitable pattern. In onevariation, the head includes individually indexed touch sensors 152arranged in a two-column array along the top and back of the head,wherein the columns extend parallel to or at an acute angle to thesagittal axis of the head (e.g., axis extending front-to-back). However,the touch sensors 152 can be otherwise arranged.

The head can additionally or alternatively include a head mechanism,which functions to actuate the head. The head mechanism preferably pansand tilts the head relative to the body housing (e.g., yaws and pitches,respectively), but can alternatively or additionally roll the head(e.g., to create a quizzical look) or otherwise actuate the head. Eachhead degrees of freedom (head DOF) is preferably directly driven by anindependent drive mechanism (e.g., including a force generationmechanism, such as a motor, and a force translation system, such as aseries of linkages). Alternatively, all or a subset of the head DOFs canbe driven by a common drive mechanism. However, the head DOFs can beindirectly driven or otherwise driven.

The head mechanism is preferably mounted to the body at a first end,extends into the head cavity through the body interface on the head, andmounts to the head interior at a second end. However, the head mechanismcan be mounted to the body at a first end and mounted to the bottom ofthe head at a second end, or otherwise mounted.

In one variation, example shown in FIG. 4, the head mechanism includes abody mount, a head chassis rotatably mounted to the body mount, a forcegeneration mechanism (e.g., a motor), and a force translation mechanismconnecting the force generation mechanism to the head chassis. However,the head mechanism can be otherwise configured.

The body mount functions to mount to the body (e.g., body housinginterior), but can alternatively mount to any other suitable portion ofthe robotic creature. The body mount is preferably arranged parallel therobotic creature's transverse plane (e.g., parallel the head sagittalaxis), but can be otherwise arranged.

The head chassis functions to support the head components (e.g.,processing systems, eyelid mechanism, etc.) and to mount the headmechanism to the head housing interior, but can additionally oralternatively perform any other suitable function. The head chassis ispreferably rotatably mounted to the body mount, but can betranslationally mounted or otherwise mounted. The head chassisrotational axis is preferably perpendicular to the plane of the bodymount, but can be otherwise arranged. The rotational mechanism enablinghead chassis rotation relative to the body mount can include: an annulartrack, bearings within the track, dampening fluid within the track(e.g., to smooth out chassis rotation), or include any other suitablerotational mechanism.

The force generation mechanism functions to generate the force thatrotates the head chassis. The force generation mechanism can be mountedto the head chassis, the body mount, or to any other suitable component.The force generation mechanism can be a linear actuator, circular orrotary actuator, or be any other suitable actuator. The force generationmechanism is preferably a motor, but can alternatively be a solenoid orany other suitable force generation mechanism. The motor is preferablyan electric motor (e.g., brushed or brushless, DC or AC), but can be anyother suitable motor. In a first variation, the force generationmechanism can be arranged with the force generation mechanism rotationalaxis (e.g., rotor axis) aligned with the rotational mechanism'srotational axis. In a second variation, the force generation mechanismcan be arranged with the force generation mechanism rotational axisoffset but substantially parallel the rotational mechanism's rotationalaxis. In a third variation, the force generation mechanism can bearranged with the force generation mechanism output substantiallyperpendicular the rotational mechanism's rotational axis. However, theforce generation mechanism can be otherwise arranged relative to therotational mechanism's rotational axis.

The force translation mechanism functions to connect the forcegeneration mechanism to the head chassis. The force translationmechanism can be a set of linkages (e.g., 2-bar linkage, etc.) connectedto the force generation mechanism's output and a mounting point on thehead chassis, a belt or chain drive extending between the output and agear statically connected to the head chassis, or be any other suitableforce translation mechanism.

In one example, the head mechanism includes: a body mount mounted to thebody housing interior; a main head chassis rotatably mounted to the bodymount and rotatable about a rotational axis perpendicular the body mountplane; a head tilt chassis rotatably mounted to the main head chassis,the head tilt chassis rotatable relative to the main head chassis abouta tilt rotation axis parallel the body mount plane and otherwisestatically fixed to the main head chassis, the head tilt chassisstatically mounted to the head housing interior; a pan motor (e.g.,electric motor, such as a brushed DC motor) mounted to the body mountwith a rotor axis perpendicular the body mount plane; a pan forcetranslation mechanism connecting the pan motor's rotor to the main headchassis (e.g., two-bar linkage, configured to actuate within a planesubstantially parallel the body mount plane); a tilt motor (e.g., secondelectric motor, such as a brushed DC motor) mounted to the head chassiswith a rotor axis parallel the body mount plane (example shown in FIG.5A); a tilt force translation mechanism connecting the tilt motor'srotor to the head tilt chassis (e.g., two-bar linkage, configured toactuate within a plane substantially perpendicular the body mount plane)(examples shown in FIGS. 5B and 5C). The head mechanism actuators can beindividually controlled by the same or different processing systems.However, the head mechanism can be otherwise configured and controlled.

The eyelid mechanism 122 of the robotic creature functions to generateexpressive actions. In particular, the eyelid mechanism 122 can convey:happiness, by raising the lower semicircular lids 128 to obscure thelower portion of the eye; sadness, by lowering the upper lids 128 toobscure the upper portion of the eye; blink, by lowering, then raising,the upper lids 128; surprise, by lowering the upper lids and/or thelower lids repeatedly (e.g. in a fluttering or blinking motion), or anyother suitable expressive action. In a first variation, the eyelidmechanism 122 is operable between an open-eye position, where little tonone of the eyelid mechanism 122 obscures the eye; and a smilingposition, where the lower lid 128 obscures a portion of the eye. In asecond variation, the eyelid mechanism 122 is further operable in alowered position, where the upper lid 128 obscures a portion or all ofthe eye. However, the eyelid mechanism 122 can be operable in any othersuitable position.

The eyelid mechanism 122 preferably includes a lower lid 128 and a liddrive mechanism (example shown in FIG. 7), but can alternatively oradditionally include an upper lid 126 or any other suitable component.The lower lid 128 is preferably a semicircle arranged with the arcuateregion proximal the head top, but can alternatively be another circlesegment, lunular (e.g., with the concave edge proximal the head top),rectangular, or otherwise shaped or positioned. The radius of the lowerlid 128 is preferably substantially equal to or greater than the eyeradius, but can be otherwise dimensioned. The eyelid mechanism 122preferably includes a first and second lower lid 128 for the first andsecond eye, respectively, but can alternatively include any suitablenumber of lower lids 128. The lower lid 128 is preferably part of a lidpiece rotatably mounted to the head, more preferably rotatably mountedto the head chassis (e.g., to the head tilt chassis), but can beotherwise connected to the head. When the eyelid mechanism 122 includesmultiple lower lids 128, the lower lids 128 can be part of the same lidpiece or be separate pieces.

The lid drive mechanism functions to actuate the lid between one or morepositions. The lid drive mechanism can actuate one or more lid pieces(e.g., first and second lower lids, upper and lower lids, etc.),together or separately. The lid drive mechanism can pull the lower lidup, pull the lower lid down, or otherwise actuate the lower lid. The liddrive mechanism can include a lid actuation mechanism (e.g., a motor)and a lid force translation mechanism (e.g., a 2-bar linkage connectedto the lid piece and configured to actuate in a plane perpendicular thebody mount plane), but can alternatively or additionally include anyother suitable component. In one example, the lid drive mechanismincludes a lid motor (e.g., a brushed DC motor) mounted to the head tiltchassis with a rotor axis parallel the body mount plane and a lid forcetranslation mechanism connecting the lid motor's rotor to the lid piece.In a first specific example, the lid motor and the linkage are arrangedabove the lid piece. In a second specific example, the lid motor can bemounted below the lower lid piece and the lid force translationmechanism is preferably mounted to an upper portion of the lid piece,such that the lid drive mechanism pushes the lower lid up to achieve thesmiling position (e.g., raised position), be mounted above the lower lidpiece, or be otherwise mounted.

The eyelid mechanism 122 can optionally include an upper lid mechanism.As shown in FIG. 8, The lower edge of the upper lid 126 is preferablyconcave (such that the upper lid is lunular), but can alternatively beconvex (such that the upper lid is a circle segment), rectangular, orhave any other suitable profile. The eyelid mechanism 122 preferablyincludes a first and second upper lid 126 for the first and second eye,respectively, but can alternatively include any suitable number of upperlids. The upper lid 126 is preferably part of the lid piece (e.g.,shared with the lower lid), wherein the upper and lower lid sub-piecesare preferably statically connected by a frame, but the upper lid 126can alternatively be supported by a separate lid piece. The lowermostedge of the upper lid 126 is preferably separated from the uppermostedge of the lower lid 128 by an eye diameter, but the separationdistance can be larger or smaller. Preferably, both the upper lid 126and the lower lid 128 of an eye are controlled by a single lid drivemechanism; alternatively, there can be separate lid drive mechanisms foreach lid, for each eye, or there can be lid drive mechanisms in anyother arrangement.

The body 130 of the robotic creature functions to mount the head andhouse the drivetrain, navigation sensors, and other sensors. The body130 can additionally function to define a handle, which can be used tomanually lift the robotic creature. The body 130 can additionallyfunction to mount the outputs (e.g., speakers, LEDs, etc.) and/or anyother suitable component The body 130 is preferably rotund (e.g.,ogived), but can alternatively be spherical or have any other suitableshape. The body 130 is preferably hollow and functions as a shell, butcan alternatively be solid or otherwise configured. The body 130 ispreferably made of the same material and color as the housing, but canbe made of a different material or have a different color.

The drivetrain 140 of the robotic creature functions to move the robotwithin a physical volume, example shown in FIG. 18D. The roboticcreature preferably includes a first and second driven wheel, but canalternatively include any suitable number of driven wheels. Thedrivetrain 140 preferably includes a differential drive driving a firstand second wheel (e.g., powered by a first and second motor,respectively), but the wheels can alternatively be driven together(e.g., powered by the same motor), or otherwise driven. The rotationalaxis of the first and second wheel are preferably arranged parallel thetransverse axis of the robotic creature, but can be otherwise arranged.The drivetrain 140 can additionally or alternatively include one or morefree turning wheels or casters, treads, passive translation mechanisms(e.g., skids, keels, etc.), or any other suitable translation mechanism.The free turning wheels are preferably arranged along an axis centeredbetween and perpendicular the rotational axis of the first and secondwheel, but can be otherwise arranged. The drivetrain 140 canadditionally include suspension (e.g., spring loaded, damping, etc.)mounted to the drive wheels, casters, or any other suitable component.The drivetrain 140 can optionally include wheel drop sensors 154, rotaryencoders, or any other suitable sensor connected to one or more wheels.

The sensors 150 of the robotic creature function to monitor the ambientenvironment surrounding the robot and/or as inputs into the roboticcreature. The robotic creature can include: optical sensors, such asambient light sensors and cameras; orientation sensors, such asaccelerometers, gyroscopes, and altimeters; acoustic sensors, such asmicrophones (example shown in FIG. 18A); proximity sensors, such ascapacitive or photoelectric sensors; contact sensors, such as limitswitches connected to an outermost portion of the body perimeter; weightsensors; power sensors, such as Hall effect sensors; temperature sensors(e.g., thermistor); pressure sensor (e.g., barometer); or any othersuitable sensor; location systems, such as GPS systems and trilaterationsystems; rangefinding systems 158, such as direct or indirect TOFsystems, LIDAR, and sterescopic systems; or any other suitable set ofsensors. The sensors 150 can be mounted to the head, body, drivetrain,or any other suitable portion of the robotic creature. In one variation,the robotic creature includes a depth sensor (e.g., TOF system) arrangedabout the body midsection, a bump shell 156 tracing the body bottomperimeter, and a set of microphones substantially evenly distributedabout the perimeter of the body proximal the head (examples shown inFIGS. 18A and 18C). The bump shell 156 is preferably connected to aninternal mounting point (e.g., wireform) by a set of springs, andtransiently coupleable to a set of limit switches mounted to the bodyhousing interior. In operation, the bump shell is translated radiallyinward when the bump shell 156 contacts an obstacle, which triggers thelimit switches. The springs then return the bump shell 156 to itsstandby position. However, the bump shell 156 can include resistivesensors, capacitive sensors, fluid-pressure sensors (e.g., wherein thebump shell is filled with a fluid), or include any other suitable set ofsensors. However, the robotic creature can additionally or alternativelyinclude any other suitable combination of sensors positioned in anyother suitable arrangement.

The robotic creature can additionally include: inputs 170 (e.g. userinputs), outputs, a processing system 180 (e.g., CPU, GPU,microprocessor, etc.), a communications module (e.g., WiFi, BLE, Zigbee,cellular, etc.), a power storage system (e.g., rechargeable battery), orany other suitable component, which can be mounted to the body, head, orany other suitable mounting point. Outputs can include: speakers(example shown in FIG. 18B), lights, robot component actuators (e.g.,the eyelid mechanism, head mechanism, etc.), screens, or any othersuitable output. In one variation, audio output by the speakers (e.g.,the robotic creature's “voice”) is used in conjunction with otheroutputs to create an expressive action. In one example, the audio can beselected from a set of music box sounds. In another example, the audiois a string of instrumental sounds from an African thumb piano. However,the audio can be any other suitable audio. Preferably, various featuresof the audio can be manipulated, such as the pitch, pitch envelopes,attack envelopes, frequency, or any other feature, to express emotion,convey information, prompt a user to provide information, or for anyother purpose. In a second variation, the robotic creature can include achest light (e.g., LED) arranged within the body housing between thehead and drivetrain. The chest light preferably shines through the bodyhousing (e.g., through a region defined by a cone of LEDs, through adiffusive film, through a transparent window or aperture, through athinned-out region of the body housing, etc.), but can be otherwisearranged and configured. Preferably, the chest light can display avariety of different colors of light but can alternatively display asingle color of light. The chest light can be selectively operated basedon the robotic creature expressive action, a robotic creature mood(e.g., determined based on historic accomplishments, human interaction,etc.), operation mode (e.g., recording mode, playback mode), orotherwise operated. However, the robotic creature can include anysuitable set of components.

The robotic creature can additionally include an internal map 160, whichfunctions to serve as a reference for guiding the robotic creaturearound its environment. Additionally or alternatively, the internal map160 functions to localize the robotic creature within the environment.The internal map 160 can be determined using the rangefinding system(e.g., mapping sensors) on-board the robotic creature (e.g.,incrementally generated, frame by frame, as the robotic creature movesthrough the space), an indoor positioning system, manually determined(e.g., generated by a user, annotated by a user), or otherwisedetermined. Preferably, the internal map 160 is a virtual representationof the traversable surroundings of the robotic creature (e.g. the layoutof a house), which includes approximate dimensions of the space, theapproximate locations and sizes of landmarks (e.g. obstacles,entrances/exits, etc.) within the space, and/or any other feature of thetraversable space of the robotic creature. The virtual representationcan be a point cloud, semantic object map, feature map (e.g., with a setof feature descriptors), or have any other suitable structure.Preferably, the internal map 160 is stored within a processing system(e.g. microprocessor) of the robotic creature, but can alternatively oradditionally be stored within a remote server or elsewhere. Preferably,the internal map 160 is determined during an initialization phase of therobotic creature (e.g. after unboxing of the robotic creature, uponfirst placement of the robotic creature into an environment, etc.), butcan alternatively or additionally be determined at another time, atmultiple times, be continuously updated, or be otherwise determinedand/or altered. In one variation, the internal map 160 receives inputfrom an authorized user. In one example, the internal map 160 includes“off-limit” room designations (e.g., blacklisted geofences, physicalregions, physical volumes), wherein the “off-limit” room designationsare assigned by an authorized user and prevent the robotic creature fromentering the designated rooms. The room designations can be assignedthrough a voice command (e.g. telling the robotic creature “stay out ofthis room” when the robotic creature enters the room during aninitialization phase), selected through an application on a user device,or otherwise designated.

4. Method.

As shown in FIG. 9, the method S200 for robotic creature operationincludes: detecting an event associated with a technologicalimperfection S250 and performing a set of expressive actions S270associated with the event. Additionally, the method can further include:receiving a command to perform an action S210, sampling sensor signalsassociated with the action from a sensor S240, performing adata-acquiring action S260, receiving a user input S220, assigning apositivity score to the user input S230, determining a robotic creaturemood, determining a robotic creature action based on the roboticcreature mood, and/or performing an action based on informationdetermined during the data-acquiring action S280. In some variations,parameters of the expressive actions can be dynamically adjusted basedon context and/or the robot mood. The method functions to reducenegative user responses to technological imperfections.

The method can include receiving a command or instruction to perform anaction S210, which functions to initiate the performance of a roboticcreature action (e.g. movement to a specified location). The command canbe received from a user (e.g., authorized user, any user), clientinstance associated with the user (e.g., user logged into theiraccount), an auxiliary device (e.g., Google Home™, a Lifx™ bulb, etc.),from a remote computing system, automatically generated, or otherwisedetermined. The command can be received at a command time, which can bewithin a predetermined time window (e.g., before, after, during) oftechnological imperfection (e.g., failure event) determination.Preferably, the command is received at a sensor and transmitted to aprocessing system of the robotic creature, but can alternatively bedirectly received at the processing system of the robotic creature,predetermined, determined using an algorithm (e.g. a machine learningalgorithm), accessed from a lookup table or remote server, or receivedor determined in any suitable way. Preferably, S210 is performed firstin the method, but can additionally or alternatively be performed at anypoint in the method. Additionally, the method can include performing anypart or all of the action. Examples of the command include: voicecommands to perform an action, such as “go to the kitchen” (e.g.,wherein the command content, signal patterns, or other input featurescan be mapped to a predetermined library of known commands); componentoperation commands, such as instructing an imaging system (e.g., camera)to record images (e.g., still frames, videos, etc.); navigationinstructions to move to a waypoint; or any other suitable command.

The method can additionally include receiving a user input S220, whichfunctions to initiate a command to a robotic creature. Additionally oralternatively, S220 can function to determine a robotic creature mood.Preferably, the user input is received from a user in physical proximityto a user, but can alternatively be received from a user via a userdevice or access point, predetermined, or otherwise received.Preferably, the user input is received concurrently with receiving acommand to perform an action, but can additionally or alternatively beperformed prior to receiving a command to perform an action, afterreceiving a command to perform an action, at multiple times throughoutthe method, or at any other time. Preferably, the user input is receivedat a sensor of the robotic creature, but can alternatively be receiveddirectly at a processing system of the robotic creature. In a firstvariation, the user input is a voice command received at an audio sensor(e.g. microphone). In a second variation, the user input is a touch(e.g. petting) received at a contact sensor (e.g. capacitive touchsensor in the robotic creature head). In a third variation, the userinput is the location of a user determined by the robotic creature'srangefinding system. In a fourth variation, the user input is a specificuser identification determined through a facial detection method.

The method can additionally include scoring the user input, such asassigning a positivity score to a user input S230, which functions toassess a user's response to the robotic creature. Additionally oralternatively, S230 can function to determine a robotic creature'sactions (e.g. toward a user), assess user satisfaction, and/or assessuser mood. Preferably, a positivity score is assigned to a user inputimmediately after the user input is received or determined by therobotic creature, but can additionally or alternatively be determined atany point during the method, predicted using an algorithm (e.g. machinelearning algorithm) or mathematical model, predetermined, or otherwisedetermined in any suitable way at any suitable time. Preferably, thepositivity score is assigned to a user input in a processing systemonboard the robotic creature, but can alternatively be assigned in aremote processing system, in a processing system on a user device, orelsewhere. Preferably, the positivity score is determined from apredetermined library (e.g. lookup table) but can alternatively bedetermined from a dynamically-determined library (e.g. a machinelearning library), determined by an authorized user, or determined inany other way. Preferably, the positivity score is determined based onqualities of the user input, such as, but not limited to: the quality ofa voice command (e.g. tone, pitch, content, frequency, volume, etc.),the quality of contact (e.g. on capacitive touch sensors, bump shell,etc.) with the robotic creature (e.g. frequency, duration, type,strength, etc.), the expression on a user's face (e.g. smile, frown,laughter, etc.), or any other quality. The positivity score can be anumeric score determined from a range of scores, a ranking relative toother user inputs, a score associated with a fixed number of categories(e.g. “high positive”, “low positive”, “neutral”, “low negative”, and“high negative”), a binary score assignment (e.g. “negative” or“positive”), or any other type of score. In one variation, thepositivity score includes a weight factor, which can be incorporatedinto a weighted positivity score (e.g. FIG. 17), which determines theextent to which the associated positivity score influences actions ofthe robotic creature. In one example, the weight factor has a temporalquality (e.g. degrades the impact of the positivity score with time). Ina second variation, the user provides a positivity score upon promptingfrom the robotic creature. In a third variation, a positivity score isassigned to something other than a user input, such as an event, anaction, an environment, or other.

In the example shown in FIG. 17, the robotic creature has a weightedpositivity score associated with a user, which it updates afterreceiving user inputs. When the user has a positive interaction with therobotic creature (e.g. petting), the weighted positivity score increasesand then degrades back to a baseline value with time. When the user hasa negative interaction with the robotic creature (e.g. kicking), theweighted positive score decreases and then degrades back to a baselinevalue with time. In some variations, weighted positivity scoreinfluences the actions that the robot performs toward a user (e.g.lights up a chest light in front of users with high positivity scoresand turns away from users with low positivity scores).

The method can additionally include detecting a face S290, whichfunctions to detect the presence of a user. Additionally oralternatively, S290 can function to seek help (e.g. receive a userinput) in overcoming an event associated with a technologicalimperfection, and/or contribute to the performance of any roboticcreature action. S290 can additionally include identifying a face (e.g.performing facial recognition), which functions to identify a specificuser. The term ‘user’ herein refers to any person or animal (e.g. pet)located within the detectable vicinity of the robotic creature (e.g. theregion able to be detected though the robotic creature's sensors).Preferably, S290 is performed with a sensor onboard the robotic creature(e.g. camera arranged in eye socket defined by the head, example shownin FIG. 6), but can alternatively be performed with an external sensor(e.g. camera in user device), wherein the external sensor iscommunicatively coupled to a processing system of the robotic creature.S290 can be performed with a feature detection method (e.g., colorfeature detector, texture feature detector, shape feature detector,motion feature detector, location feature detector, etc.),appearance-based method, genetic algorithm, or any other suitablecomputer vision method, or any other general method suitable fordetecting and/or identifying a face. Preferably, S290 is performed anytime the robotic creature detects a user but can alternatively beperformed upon the receipt of a user input, upon detection of a userdevice on the same LAN or using a short-range communication system, theonset of an event associated with a technological imperfection, uponentrance into a new room, prior to performing an expressive action,prior to performing a data-acquiring action, or at any other time. Inone variation, the robotic creature performs S290 upon detection of anevent associated with a technological imperfection. For example, in theevent that the robotic creature seeks user input during a data-acquiringaction, the robotic creature can move backward to widen the field ofview of its camera, detect a user, and then move toward the user toreceive information from the user. The robotic creature can optionallytrack the user face (e.g., follow the user face with the roboticcreature's head) when interacting with the user. In a second variation,the robotic creature performs S290 when it detects a specific user. Inone example, the robotic creature performs S290 at the beginning of eachday in order to perform an expressive action (e.g. turning on a light inthe robotic creature's chest) for each recognized user in the roboticcreature's user database. In a third variation, S290 is performed inorder to provide specific robot actions to each user (e.g. based on theuser's set of positivity scores). For example, the robot may performS290 prior to performing an expressive action in order to reflect theuser's positivity scores in the expressive action (e.g. ‘scared’expressive action, such as fleeing, in the case that a user with a lowpositivity score is identified in S290).

The method can additionally include sampling sensor signals associatedwith an action from a sensor S240, wherein the action is preferably theaction determined in S210, but can alternatively be any other robotaction. S240 functions to detect an event associated with atechnological imperfection. Additionally or alternatively, S240 canfunction to enable the appropriate performance of the action, monitorthe performance of the action, determine a user response to the action,or any other suitable function. Preferably, S240 is performed usingsensors and a processing system, wherein both the sensors and theprocessing system are onboard the robotic creature, but canalternatively be performed using remote elements (e.g. processor in auser device). Preferably S240 is performed after receiving a command toperform an action, but can alternatively be performed multiple timesthroughout the method, continuously throughout the method, at the onsetof an event, or at any other time. In one variation, S240 is performedonly at the onset of certain events (e.g. historically problematicevents).

Detecting an event associated with a technological imperfection S250functions to trigger expressive action performance. Additionally oralternatively, S250 can function to trigger data-acquiring actionperformance. Preferably, the event is associated with the actioncommanded in S210 but can alternatively occur independently or inrelation to any other robotic creature action or event. The event (e.g.,failure event) can be detected based on: signals sampled by the robotsensors (example shown in FIG. 10), based on changes between sampledsignals, based on a user input, based on instructions received from aremote computing system (e.g., user device, such as smartphone ortablet, remote computing system, etc.), or based on any other suitableinformation.

In a first variation, the event includes unexpected robot contact withan obstacle (e.g. FIG. 13). The unexpected contact can be due to: blindspots in environment monitoring system's field of view, dead zonesinherent in the monitoring technology, intentional blind spots (e.g.,regions that are not constantly monitored due to system cost or resourcelimitations), unexpected object movement, or due to any other suitablecause. The unexpected contact can be detected by: the robot bump shell,the robot's wheel encoders (e.g., measuring a backforce exceeding anexpected backforce; measuring wheel rotation inconsistent with expectedwheel rotation based on the measured robot kinematics; etc.), the touchsensors on the robot's head, or be otherwise detected.

In a second variation, the event includes unexpected obstacle movement(e.g. FIG. 14), as determined from the robot's object tracking methods.For example, unexpected object movement can include objects disappearingfrom the rangefinding field of view (e.g., in a manner inconsistent withthe determined object trajectory).

In a third variation, the event includes determining that the robot isin an environment that the robotic creature is known to have problemswith (problematic environment). The problematic environment(s) ispreferably associated with a set of predetermined parameter values orrange, but can be otherwise defined. Problematic environments caninclude: an environment with light of a given wavelength exceeding athreshold intensity value, cliffs (e.g., stairs) within the robottraversal path, overhangs lower than or the same level as the robotheight within the robot traversal path, rough terrain (e.g., carpet), orany other suitable problematic environment. The problematic environmentcan be determined from: geographic location, ambient light sensors,wheel drop sensors, onboard rangefinding systems, beacons, terraindifferences, historic sensor measurements (e.g., increased wheelresistance for a given geographic location), or from any other suitableset of sensors.

In a fourth variation, the event includes determining unexpected roboticcreature motion. Examples of unexpected robotic creature motion include:tilt beyond a threshold angle (e.g., falling over), lift (e.g.,determination that the robotic creature is being lifted), unexpectedrobot motion (e.g., moving faster than expected, moving slower thanexpected, coming to a complete stop), or any other suitable motion alongany other suitable axis. The unexpected robotic creature motion can bedetermined by comparing the expected motion with the actual motion, orotherwise determined. The expected motion can be determined from pathplanning processes, drivetrain control instructions, or otherwisedetermined. The actual motion can be determined from orientationsensors, such as IMUs, accelerometers, and gyroscopes; rangefindingsystems such as TOF systems and stereocamera systems; wheel drop sensorsor wheel encoders; capacitive sensors (e.g., within the robotic creaturehandle); and/or any other suitable set of sensor outputs.

In a fifth variation, the event includes determining robotic creatureoperation parameters satisfying a predetermined condition. In oneexample, this can include determining that the robotic creature's stateof charge is below a threshold SOC level. However, satisfaction of anyother suitable set of predetermined conditions can be determined.

In a sixth variation, the event includes receiving an unrecognizedcommand. In one example, this can include determining that a voicecommand received by the robotic creature is not included in a library ofknown voice commands.

In a seventh variation, the event includes determining that the roboticcreature is in an unknown location (e.g., determining a new locationevent). In one example, this can include determining that thesurroundings of the robot are not included in its internal map (e.g.,based on features detected from signals sampled by the rangefindingsystem, camera system, etc.). In a second example, this can includerobotic creature transitioning from a power-off to a power-on state. Ina third example, this can include satisfaction of conditions associatedwith robotic creature delocalization (e.g., pick up and placement;arrangement in an unknown or new location; etc.). Examples of theseconditions include: wheel unloading and re-loading (e.g., sampled bywheel drop sensors, motor encoders, drivetrain position sensors, etc.),handle actuation (e.g., wherein a touch-sensitive surface within thehandle is actuated), inertial sensor patterns indicative of a pickupevent (e.g., pitch or roll beyond a threshold angle; verticalacceleration above a threshold value), or any other suitable condition.

In an eighth variation, the event includes an initial setup. In oneexample, this can include movement away from a charging station for thefirst time. In another example, this can include a restart (e.g. reboot)of the operating system of the robotic creature, determination that therobotic creature is unassociated with an internal map, receipt of asetup command from a user, or any other suitable initial setup event.However, any other suitable event associated with a technologicalimperfection can be determined by the robotic creature.

The method can additionally include performing a data-acquiring actionbased on the event S260, which functions to determine informationassociated with overcoming the event (e.g., failure event) associatedwith a technological imperfection. Additionally or alternatively, S260can function to determine information associated with the performance ofan action (e.g. the action commanded in S210) or any part of the method,determine an alternative action, improve a user impression of therobotic creature (e.g. perform an action predicted to result in a highpositivity score), or any other function. The data-acquiring action canbe associated with the failure event, with the expressive action, withthe underlying data used to perform the failed action, or otherwiseassociated. Preferably, the data-acquiring action is determined based onthe type of event associated with a technological imperfection (e.g.collision, unrecognized voice command, etc.), but can additionally oralternatively be determined based on a sensor signal, a userspecification, a predetermined command, or any other suitable signal.The data-acquiring action preferably includes a predetermined sequenceof actions performed by the robotic creature outputs (e.g. headmechanism, eyelid mechanism, lights, speakers, and/or drivetrain), butcan alternatively be any other suitable set of actions performed by anyother suitable system (e.g., robotic creature of otherwise). Preferably,S260 is performed after S250, but can additionally or alternatively beperformed in the absence of an event associated with a technologicalimperfection, throughout a robot action, multiple times throughout themethod (e.g. continuously), routinely (e.g. to update the roboticcreature's internal map), or at any other time.

Each action in the sequence is preferably associated with a set ofaction parameter values defining different parameters of the performedaction. The action parameters can include: operated subcomponent (e.g.,rangefinding system, camera system, head motor, drivetrain, etc.),subcomponent operation parameters (e.g., power provision, frequency,duration, speed, timing, etc.), action duration, action intensity (e.g.,output amplitude or magnitude), or any other suitable set of parameters.For example, a “scanning” data-acquiring action can include a sequenceof side-to-side and top-to-bottom head actuations to mimic scanningacross and up-and-down a room, respectively. In this example, the actionparameters for each head actuation include: the distance the head isactuated, the direction the head is actuated, the speed of headactuation, and the time duration separating successive head actuationactions. In one variation, the data-acquiring action and its actionparameter values are chosen to prompt a user to provide additionalinformation. For example, a “quizzical” data-acquiring action caninclude a vocal output to mimic the high-rise-terminal (e.g. uptalk)structure of a question, which prompts a user to repeat or rephrasetheir original command. In this example, the action parameters for eachvocal output include the duration of the vocal output and its pitchprogression (e.g. rising pitch intonation). However, the data-acquiringactions can be otherwise characterized.

The performed data-acquiring action (including the sequence of actionsand the action parameters for each action within the subset) ispreferably pre-associated with the detected event (e.g., technologicalimperfection), but all or part of the data-acquiring action canalternatively or additionally be determined: using a state machine(e.g., based on context and robotic creature mood), using an artificialintelligence module (e.g., classification, regression, etc.), selected(e.g., based on operation context, sampled information), randomly,user-determined, or otherwise determined. The performed data-acquiringaction is preferably automatically determined by the robotic creature(e.g., retrieved from on-board memory, using an on-board adjustmentmodule, etc.), but can additionally or alternatively be entirely orpartially determined by a remote computing system (e.g., server), userdevice (e.g., connected smartphone or tablet), or by any other suitablecomputing system. In the latter instances, event-to-data-acquiringaction maps can be periodically received by the robotic creature fromthe external system, the data-acquiring action can be retrieved by therobotic creature from the external system based on the detected event,the event or parameters thereof (e.g., underlying sensor measurements)can be sent to the external system and the data-acquiring actionreceived, or the data-acquiring action otherwise determined. Thedata-acquiring action can be associated with a set of technicalrequirements, which can include a minimum, maximum, preferred range, orother measure of performance time, motion or actuation pattern (e.g.,moving the data-acquiring component along a predetermined trajectory,etc.), power draw, or any other suitable technical requirement.

Automatically performing a set of expressive actions S270 associatedwith the event functions to reduce negative user responses to therobotic creature's technological imperfections. Additionally oralternatively, S270 can function to distract a user while the roboticcreature is performing a data-acquiring action, prevent a user frombecoming angry that the robotic creature has experienced a technologicalimperfection (e.g. reduce the likelihood of receiving a user input witha low positivity score), or any other function. The expressive actionpreferably includes a predetermined sequence of actions performed by therobotic creature outputs (e.g., head mechanism, eyelid mechanism,lights, speakers, and/or drivetrain), but can alternatively be any othersuitable set of actions performed by any other suitable system (e.g.,robotic creature or otherwise). Each action in the sequence ispreferably associated with a set of action parameter values definingdifferent parameters of the performed action. For example, for a “tired”expressive action can include a sequence of successive eyelid loweringand raising by the eyelid mechanism (e.g., simulating a blink), whereineach successive blink is lower and slower than the previous. In thisexample, the action parameters for each eyelid actuation include: thedistance the eyelid is actuated, the speed of eyelid actuation, and thetime duration separating successive eyelid actuation actions. However,the expressive actions can be otherwise characterized. Preferably, theexpressive action's action parameters (and/or instructions) aredetermined based on the technical requirements of the data-acquiringaction (e.g. the values of the expressive action are determined based onthe action parameter values of a data-acquiring action), but can bemanually determined, empirically determined (e.g., increased if thedata-acquiring action did not have sufficient time to adequately sampledata for technological imperfection resolution), or otherwisedetermined. For example, the expressive action parameters can beselected such that the data-acquiring action has sufficient time and/ordata points to resolve the technological imperfection. In a specificexample, the expressive action animation duration can be substantiallyequal to (e.g., within 1 s, 5 s, 10%, etc.), longer than, or shorterthan the data-acquiring action. In a second specific example, theexpressive action can move the data-acquiring component (e.g., camera,rangefinding system) along a data-acquisition trajectory. However, theexpressive action parameters can be otherwise determined.

The expressive action can be performed concurrently, asynchronously(e.g., before, after), or at any suitable time relative to thedata-acquisition action. Alternatively or additionally, the expressiveaction can function as the data-acquisition action. In a first example,one or more of the duration, speed, frequency, timing, and any otherparameter of the expressive action can be chosen to ensure that theexpressive action and the data-acquiring action occur partly orcompletely concurrently. In this example, the expressive action canfunction to distract the user from the data-acquiring action. In anotherexample, the expressive action is chosen to be performed with the samemechanism (e.g. head mechanism) as the data-acquiring action.Alternatively, the action parameter values of the expressive action canbe predetermined, specified by an authorized user, or determined in anyother way.

The performed expressive action (including the sequence of actions andthe action parameters for each action within the subset) is preferablypre-associated with the detected event, but all or part of theexpressive action can alternatively or additionally be determined: usinga state machine (e.g., based on context and robotic creature mood),using an artificial intelligence module (e.g., classification,regression, etc.), randomly, user-determined, or otherwise determined.The performed expressive action is preferably automatically determinedby the robotic creature (e.g., retrieved from on-board memory, using anon-board adjustment module, etc.), but can additionally or alternativelybe entirely or partially determined by a remote computing system (e.g.,server), user device (e.g., connected smartphone or tablet), or by anyother suitable computing system. In the latter instances,event-to-expressive action maps can be periodically received by therobotic creature from the external system, the expressive action can beretrieved by the robotic creature from the external system based on thedetected event, the event or parameters thereof (e.g., underlying sensormeasurements) can be sent to the external system and the expressiveaction received, or the expressive action otherwise determined.

In one variation, the determined event is associated with apredetermined sequence of actions, each with a set of baseline actionparameter values, wherein the action parameter values are dynamicallyadjusted based on the robotic creature mood and/or instantaneousoperation context. Dynamically adjusting the action parameter values caninclude: scaling the values as a function of the mood and/or context;selecting a new equation to determine the action parameter values basedon the mood and/or context; or otherwise adjusting the action parametervalues. The action parameter value adjustment can be learned, changedover time according to a predetermined pattern, or otherwise determined.

In one variation, the data-acquiring action is an expressive action. Forexample, a sequence of head actuations to mimic scanning a room mayfunction to gather information to compare with an internal map(data-acquiring action), allow sufficient time for a rangefinding systemto sample the ambient environment and/or localize the robot within aninternal map (data-acquiring action), and/or look pleasing to a user andconvey that the robotic creature looks lost (expressive action). Thisanimation can optionally include a second stage, which includes asequence of body actuations to mimic scanning a room (e.g., turning thebody side to side), which can allow the rangefinding system to sample alarger field of view and gather more information for robotic creaturelocalization. The second stage can automatically follow the first stage,be concurrently performed with the first stage, be triggered when datagathered during the first stage is insufficient to localize the robot(e.g., within a predetermined certainty threshold). In a secondvariation, the expressive action is a data-acquiring action. Forexample, a vocal output with rising pitch intonation of the roboticcreature may be comical to a user (expressive action), while prompting auser to repeat a command (data-acquiring action).

The robotic creature mood can be determined based on historic userinteraction with the robotic creature (e.g., happiness increased as afunction of positive interactions, such as petting and detection ofusers smiling, degraded as a function of negative interactions, such aspushing the robotic creature over or detection of users yelling at therobotic creature, degraded as a function of time away from a given user,determined based on positivity scores), successful completion ofassigned tasks by the robotic creature (e.g., happiness augmented uponsuccessful completion and degraded upon failure), a baseline mood (e.g.,happy), or otherwise determined. The baseline robotic creature mood canoptionally be recovered at a predetermined rate (e.g., a happy roboticcreature will react less happily over time, unless positive interactionsare received in the interim).

The robotic creature context can be determined based on: obstacleswithin the proximal environment (e.g., presence of objects, objectclasses, etc.), sounds recorded by the acoustic sensors (e.g.,classification of the sounds as happy or angry, loud or soft, etc.),facial expressions of users proximal the robotic creature (e.g.,classification of expressions as happy, curious, sad, angry, etc.),presence of users within the robotic creature environment (e.g.,determined based on whether the associated user device is connected to ashared communications network, determined from security camerameasurements, etc.), events in the associated user's calendars, recentsocial networking posts by an associated user, or any other suitableparameter indicative of the operating context for the robotic creature.

In one example, dynamically adjusting the parameter values based on therobotic creature mood includes: when the robotic creature mood is happy(e.g., as determined from a high robotic creature happiness score),increasing the acoustic frequency of the emitted sounds, increasing thebrightness of the chest light, and increasing the duration of expressiveaction playback. When the robotic creature is sad (e.g., as determinedfrom a low happiness score), decreasing the acoustic frequency ofemitted sounds, decreasing the chest light brightness, and slowing theexpressive action playback. However, the parameter values can beotherwise adjusted.

The method can additionally include performing an action based oninformation determined during the data-acquiring action S280.Preferably, the action is the action that the robotic creature isinitially commanded to perform (the action interrupted by the event,such as a failure event, associated with a technological imperfection).Alternatively, the action can be a modified version of the originalaction (e.g. when the robotic creature cannot overcome the eventassociated with a technological imperfection), or any other suitableaction. The different action can be selected form a set of predeterminedrelated actions, be randomly selected, or be any other suitable action.The action is preferably performed after performance of a data-acquiringaction and an expressive action, but can alternatively be performedafter one of a data-acquiring action and an expressive action, in theabsence of an expressive action, multiple times throughout the method,or at any other time. The action is preferably performed withinformation determined during the data-acquiring action, but canadditionally or alternatively be performed with information determinedduring an expressive action. In one variation, the action is movementtoward a specified room in a house and the information determined duringthe data-acquiring action is the location of the robotic creature withreference to its internal map. In another variation, the action isplaying a specific song through the robotic creature's speaker and theinformation determined during the data-acquiring action is the songtitle.

As shown in FIG. 13, a first example of the method includes: detectingunexpected robot contact with an obstacle and performing an expressiveaction including: playing an “ooh!” sound within a predetermined timeduration (e.g., is) after obstacle contact, determining the direction ofthe obstacle relative to the robotic creature, actuating the head suchthat the eyes are directed in the determined direction for apredetermined period of time (e.g., 3 s), actuating the head and/ordrivetrain such that the eyes are directed in a second directiondifferent from the determined direction (e.g., opposite direction), andactuating the drive train to translate the robot in the seconddirection. The robot can optionally reverse (e.g., back up) or move in adirection opposing the detected object prior to translating in thesecond direction.

As shown in FIG. 14, a second example of the method includes: detectingunexpected obstacle movement, determining that a user command failed(e.g., the NLP module failed to return a recognized command), ordetermining that the robotic creature is stuck (e.g., based on the wheelencoders); and performing an expressive action including: playing aconfused sound, optionally panning the head, identifying a user proximalthe robotic creature, actuating the head to direct the eyes toward theidentified user (e.g., by tilting the head upwards), and, learning basedon the user response. In a specific example, this includes detectingunexpected child movement in response to detection of a child moving ina first direction in a first video frame, and determining that the childis not in an expected location in a second video frame, wherein theexpected location is determined based on the first direction; playingthe confused sound; looking at a nearby adult; receiving a userindication of where the child is (e.g., extracting the direction theadult's pointed finger); actuating the head mechanism and/or drivetrainto turn toward the child's indicated position; recording parameters ofthe actual child's position; and training the object tracking modulesbased on the measurements underlying the actual child's position andexpected child position.

A third example of the method includes: detecting a region of theambient environment with intense sunlight (e.g., which can wash out therangefinder signal), and performing an expressive action including:playing a scared sound (e.g., “whoa!”) and actuating the drive train toturn and drive the robotic creature away from the sunlight. Theexpressive action can optionally include: actuating the eyelid mechanismto lower the upper eyelids and actuating the head mechanism to lower thehead.

As shown in FIG. 12, a fourth example of the method includes: detectingrobotic creature tilt beyond a threshold angle from vertical (e.g.,using the gyroscope) and performing a “sad” action including: tiltingthe head downward, playing a sad sound, and actuating the eyelidmechanism to lower the eyelid (e.g., upper eyelid). A fifth example ofthe method includes: detecting a happy event (e.g., successful missioncompletion, detection of a head pat from the head touch sensors as shownin FIG. 1i , detecting a “thank you” from a user, detecting a userassociated with the robotic creature, etc.) and performing a “happy”action including: tilting the head up and actuating the eyelid mechanismto raise the lower eyelids. The method can optionally include: pausing apredetermined time period (e.g., is) after touch detection beforeperforming the expressive action, blinking or pulsing the chest light,or performing any other suitable output. A sixth example includes:determining that the robot SOC is below a threshold level and performinga “tired” expressive action. However, any other suitable expressiveaction can be performed in response to determination of any othersuitable event.

As shown in FIG. 15, a seventh example of the method includes detectingthe event of being ‘lost’, wherein the robotic creature is unfamiliarwith its surroundings. The robotic creature can perform one or moredata-acquiring actions, such as: a side-to-side head actuation, anup-and-down head actuation, and/or a side-to-side drivetrain actuation,which can function to increase the field of view and/or depth of therobotic creature's camera or another sensor (e.g. depth sensor);reducing the robotic creature driving speed; or any other suitableaction. These actions can also serve as expressive actions, or adifferent expressive action (e.g. playing a ‘confused’ sound through aspeaker) can be performed concurrently with the data-acquiring actions.If the robotic creature has an existing internal map, the informationdetermined from the data-acquiring action can help establish a match ofthe robotic creature's current location with the internal map, therebylocating the robotic creature. If the robotic creature does not yet havean internal map (e.g. during setup), the data-acquiring actions canfunction to start developing the internal map.

As shown in FIG. 16, an eighth example of the method includes detectingthe event of receiving an unrecognized voice command, such as a voicecommand that is not detectable, a voice command below a volumethreshold, or a voice command not present in a library of known voicecommands. In this example, the robotic creature can perform anexpressive action, such as a series of head actuations to mimic aconfused head shake and/or playing a ‘confused’ sound through a speaker.The robotic creature can also perform a data-acquiring action, such asmoving closer to the user, which prompts the user to repeat or rephrasethe voice command.

Embodiments of the system and/or method can include every combinationand permutation of the various system components and the various methodprocesses, wherein the method processes can be performed in any suitableorder, sequentially or concurrently.

As a person skilled in the art will recognize from the previous detaileddescription and from the figures and claims, modifications and changescan be made to the preferred embodiments of the invention withoutdeparting from the scope of this invention defined in the followingclaims.

We claim:
 1. An eyelid mechanism of a robotic creature, the eyelidmechanism comprising: an eyelid piece, the eyelid piece comprising: afirst lid section arranged posterior to a first eye aperture of therobotic creature, the first lid section comprising: a first upper lid; afirst lower lid statically connected to the first upper lid; a firsttinted film segment arranged between the first upper lid and the firstlower lid; a second lid section arranged posterior to a second eyeaperture of the robotic creature, the second lid section comprising: asecond upper lid; a second lower lid statically connected to the secondupper lid; a second tinted film segment arranged between the secondupper lid and the second lower lid; wherein the first lid section isstatically connected to the second lid section; a lid drive mechanismconnected to the eyelid piece, the lid drive mechanism comprising: amotor arranged above the eyelid piece; a two-bar linkage comprising afirst end connected to the motor and a second end connected to theeyelid piece; wherein the eyelid mechanism is operable between: a raisedposition, wherein the first upper lid and the second upper lid are fullyobscured from view through the first and second eye apertures,respectively; a lowered position, wherein the first lower lid and thesecond lower lid are fully obscured from view through the first andsecond eye apertures, respectively; an open-eye position, wherein thefirst upper lid and the first lower lid are fully obscured from viewthrough the first eye aperture, and the second upper lid and the secondlower lid are fully obscured from view through the second eye aperture;and a closed-eye position, wherein the first tinted film segment and thefirst lower lid are fully obscured from view through the first eyeaperture, and the second tinted film segment and the second lower lidare fully obscured from view through the second eye aperture.
 2. Theeyelid mechanism of claim 1, wherein the first lower lid is staticallyconnected to the first upper lid by a frame, further wherein the secondend of the two-bar linkage is connected to the frame.
 3. The eyelidmechanism of claim 1, wherein: each of the first upper lid and thesecond upper lid define a concave edge; and each of the first lower lidand the second lower lid define a convex edge.
 4. The eyelid mechanismof claim 1, wherein the eyelid mechanism is mounted to a head tiltchassis of the robotic creature.
 5. The eyelid mechanism of claim 1,wherein a length of the first tinted film segment is at least equal to adiameter of the first eye aperture.
 6. The eyelid mechanism of claim 1,wherein the first tinted film segment is statically mounted to the firstupper lid and the first lower lid.
 7. A robotic system, the roboticsystem comprising: a head defining an eye aperture; an eyelid mechanismcomprising an eyelid piece arranged posterior to the eye aperture, theeyelid piece comprising: an upper lid; a lower lid statically connectedto the upper lid; a tinted film segment arranged between the upper lidand the lower lid; a motor arranged above the eyelid piece; and atwo-bar linkage comprising a first end connected to the motor and asecond end connected to the eyelid piece.
 8. The robotic system of claim7, further comprising a control system electrically connected to themotor, the control system configured to operate the eyelid mechanismbetween: a raised position, wherein the upper lid is fully obscured fromview through the eye aperture; a lowered position, wherein the lower lidis fully obscured from view through the eye aperture; an open-eyeposition, wherein the upper lid and the lower lid are fully obscuredfrom view through the eye aperture; and a closed-eye position, whereinthe tinted film segment and the lower lid are fully obscured from viewthrough the eye aperture.
 9. The robotic system of claim 7, wherein: theeye aperture has an aperture diameter; the tinted film segment has atinted film length extending between the upper lid and the lower lid,wherein the tinted film length is not less than the aperture diameter.10. The robotic system of claim 9, wherein the tinted film segment isstatically mounted to the upper lid and the lower lid.
 11. The roboticsystem of claim 7, wherein the upper lid defines a concave edge.
 12. Therobotic system of claim 7, wherein the lower lid defines a convex edge.13. The robotic system of claim 12, wherein the upper lid defines aconcave edge proximal the lower lid.
 14. The system of claim 7, furthercomprising: an eye socket posterior to the eye aperture; and a cameraarranged in the eye socket.
 15. The robotic system of claim 14, whereinthe camera is arranged with a bias toward an upper distal quadrant ofthe eye aperture.
 16. The robotic system of claim 14, wherein the eyesocket comprises a blackout painted surface.
 17. The robotic system ofclaim 7, further comprising a head tilt chassis arranged in the head,wherein the eyelid mechanism is mounted to the head tilt chassis. 18.The robotic system of claim 7, wherein the motor comprises a brushed DCmotor.
 19. The robotic system of claim 7, further comprising a secondeyelid mechanism, the second eyelid mechanism comprising a second eyelidpiece arranged posterior to a second eye aperture of the robotic system,the second eyelid piece comprising: a second upper lid; a second lowerlid statically connected to the second upper lid; and a second tintedfilm segment arranged between the second upper lid and the second lowerlid.
 20. The robotic system of claim 19, wherein the second eyelidmechanism is statically connected to the first eyelid mechanism by aframe, wherein the first and second eyelid mechanisms are bothactuatably connected to the motor.